package com.ruoyi.system.service;



import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.common.core.plus.web.service.AbstractCrudService;
import com.ruoyi.system.domain.LanguageType;
import com.ruoyi.system.domain.params.LanguageTypeParams;
import com.ruoyi.system.domain.vo.LanguageTypeVo;

import java.util.List;

/**
 * 语言类型Service业务层处理
 *
 * @author huyafang
 * @date 2023-03-06
 */
public interface ILanguageTypeService {

    /**
     * 查询语言类型列表
     *
     * @param languageTypeConditionDto 语言类型
     * @return 语言类型
     */
    public IPage<LanguageTypeVo> queryList(IPage<LanguageTypeVo> page, LanguageTypeParams languageTypeConditionDto);

    /**
     * 新增语言类型
     *
     * @param languageType 语言类型
     */
    public void saveLanguageType(LanguageType languageType, String createBy);

    /**
     * 修改语言类型
     *
     * @param languageType 语言类型
     * @return 结果
     */
    public int updateLanguageType(LanguageType languageType);

    public LanguageType queryLanguageTypeByCode(String code);
    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    public int deleteByIds(Long[] ids);

    public void updateIsDefault(LanguageType languageType);

    LanguageType getById(Long id);

    LanguageType getByCode(String code);

    int save(LanguageType languageType);

    LanguageType getByObjForUpdateDefault(LanguageType query);

    int update(LanguageType languageType);

    /**
     * 通过编号获取语言
     * @param codeType
     * @return
     */
    LanguageType getLanguageByCode(String codeType,String applicationCode);
}
